﻿#ifndef _FITKACAOUSTICS_HDF5_ABSTRACT_ADAPTOR_H___
#define _FITKACAOUSTICS_HDF5_ABSTRACT_ADAPTOR_H___

#include "FITK_Kernel/FITKAdaptor/FITKAbstractIOAdaptor.h"
#include "FITKAcousticsHDF5IOAPI.h"

namespace IO
{
    class FITKAcousticsHDF5Reader;
    class FITKAcousticsHDF5Wriiter;
    class FITKHDF5FileTool;


    class FITKAcousticsHDF5IOAPI FITKAcousticsAbsAdaptor: public Adaptor::FITKAbstractIOAdaptor
    {
    public:
        explicit FITKAcousticsAbsAdaptor() = default;
        virtual ~FITKAcousticsAbsAdaptor() = 0;

        void setReader(FITKAcousticsHDF5Reader* reader);

        void setWriter(FITKAcousticsHDF5Wriiter* writer);

        FITKHDF5FileTool* getHDF5Tool(const bool& readProcsss);

    protected:

        FITKAcousticsHDF5Reader* _reader{};

        FITKAcousticsHDF5Wriiter* _writer{};
    };
}


#endif
